/////////////////////////////////////////////////////////////////////////////
// Name:        SettingsDialog.h
// Purpose:     
// Author:      yospaly
// Modified by: 
// Created:     04/01/2009 18:57:59
// RCS-ID:      
// Copyright:   Copyright (C) 2008, yospaly
// Licence:     
/////////////////////////////////////////////////////////////////////////////

#ifndef _SETTINGSDIALOG_H_
#define _SETTINGSDIALOG_H_


/*!
 * Includes
 */

////@begin includes
#include "wx/notebook.h"
#include "wx/treectrl.h"
////@end includes

/*!
 * Forward declarations
 */

////@begin forward declarations
class wxTreeCtrl;
////@end forward declarations

/*!
 * Control identifiers
 */

////@begin control identifiers
#define ID_SETTINGS_DLG 10005
#define ID_NOTEBOOK 10027
#define ID_PANEL1 10028
#define ID_MIRRORS_TREE 10029
#define ID_MIRROR_TEXT 10030
#define ID_PANEL2 10031
#define SYMBOL_SETTINGSDIALOG_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
#define SYMBOL_SETTINGSDIALOG_TITLE _("Settings")
#define SYMBOL_SETTINGSDIALOG_IDNAME ID_SETTINGS_DLG
#define SYMBOL_SETTINGSDIALOG_SIZE wxSize(500, 200)
#define SYMBOL_SETTINGSDIALOG_POSITION wxDefaultPosition
////@end control identifiers


/*!
 * SettingsDialog class declaration
 */

class SettingsDialog: public wxDialog
{    
    DECLARE_DYNAMIC_CLASS( SettingsDialog )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    SettingsDialog();
    SettingsDialog( wxWindow* parent, wxWindowID id = SYMBOL_SETTINGSDIALOG_IDNAME, const wxString& caption = SYMBOL_SETTINGSDIALOG_TITLE, const wxPoint& pos = SYMBOL_SETTINGSDIALOG_POSITION, const wxSize& size = SYMBOL_SETTINGSDIALOG_SIZE, long style = SYMBOL_SETTINGSDIALOG_STYLE );

    /// Creation
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_SETTINGSDIALOG_IDNAME, const wxString& caption = SYMBOL_SETTINGSDIALOG_TITLE, const wxPoint& pos = SYMBOL_SETTINGSDIALOG_POSITION, const wxSize& size = SYMBOL_SETTINGSDIALOG_SIZE, long style = SYMBOL_SETTINGSDIALOG_STYLE );

    /// Destructor
    ~SettingsDialog();

    /// Initialises member variables
    void Init();

    /// Creates the controls and sizers
    void CreateControls();

////@begin SettingsDialog event handler declarations

    /// wxEVT_DESTROY event handler for ID_SETTINGS_DLG
    void OnDestroy( wxWindowDestroyEvent& event );

    /// wxEVT_COMMAND_TREE_SEL_CHANGED event handler for ID_MIRRORS_TREE
    void OnMIRRORSTREESelChanged( wxTreeEvent& event );

////@end SettingsDialog event handler declarations

////@begin SettingsDialog member function declarations

    /// Retrieves bitmap resources
    wxBitmap GetBitmapResource( const wxString& name );

    /// Retrieves icon resources
    wxIcon GetIconResource( const wxString& name );
////@end SettingsDialog member function declarations

    /// Should we show tooltips?
    static bool ShowToolTips();

////@begin SettingsDialog member variables
    wxTreeCtrl* p_mirrors_tree;
    wxTextCtrl* p_mirror_text;
    wxStaticText* p_mount_info_static;
////@end SettingsDialog member variables
};

#endif
    // _SETTINGSDIALOG_H_
